home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol058 / introduc.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1987-01-13  |  12.1 KB  |  378 lines

  1. 10  REM Documentation for the Genealogy ON DISPLAY Programs
  2. 20  REM All data is in the form of DATA statements.
  3. 30  REM By:  Melvin O. Duke.  Updated June 1983.
  4. 40  DATA Genealogy
  5. 50  DATA User's Manual
  6. 60  DATA -5
  7. 70  DATA 1
  8. 80  INDENT = 0
  9. 90  DASHES$ = "+"+STRING$(54,45)+"+"
  10. 100  TRIM.LINE$ = "(Trim-line)"
  11. 110  REM Program begins here
  12. 120  READ TITLE$, DOC.NAME$, PAGE.NO, LINE.NO
  13. 130  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  14. 140  GOSUB 500  'For trim line and heading space
  15. 150  FOR I = 1 TO 6 : LPRINT : NEXT I
  16. 160  LPRINT CHR$(14);  'Set Expanded Print
  17. 170  LPRINT TAB(TAB.POS-2);TITLE$
  18. 180  LPRINT CHR$(18);  'Return to normal
  19. 190  FOR I = 1 TO 3 : LPRINT : NEXT I
  20. 200  LPRINT CHR$(27); "E"; 'Set Emphasized mode
  21. 210  LPRINT TAB(TAB.POS+12);"ON DISPLAY"
  22. 220  LPRINT CHR$(27); "F"; 'Return to normal
  23. 222  LPRINT : LPRINT : LPRINT
  24. 224  LPRINT TAB(TAB.POS+11);"Version 1.3"
  25. 230  FOR I = 1 TO 11 : LPRINT : NEXT I
  26. 240  LPRINT TAB(TAB.POS+10); DOC.NAME$
  27. 250  LINE.NO = LINE.NO + 27
  28. 260  '
  29. 270  READ REPLY$
  30. 280  IF LEFT$(REPLY$,1) = "." THEN GOSUB 850: GOTO 270
  31. 290  IF LINE.NO > 44 THEN GOSUB 610
  32. 300  REM Print the line if not a command
  33. 310  LPRINT TAB(TAB.POS);REPLY$
  34. 320  LINE.NO = LINE.NO + 1
  35. 330  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  36. 340  GOTO 270
  37. 350  REM Data for the Copyright Page
  38. 354  DATA ".pa"
  39. 358  DATA "Anyone may request a copy of these"
  40. 362  DATA "programs by sending two blank diskettes"
  41. 366  DATA "to the author of the programs (one for"
  42. 370  DATA "the programs, and the second for the"
  43. 374  DATA "documentation)."
  44. 378  DATA ".sp"
  45. 382  DATA "An addressed, postage-paid return"
  46. 386  DATA "mailer must accompany the diskettes (no"
  47. 390  DATA "exceptions, please).
  48. 394  DATA ".sp"
  49. 398  DATA "A copy of the programs with documenta-"
  50. 402  DATA "tion will be sent by return mail."
  51. 406  DATA ".sp"
  52. 410  DATA "Regardless of whether a contribution"
  53. 414  DATA "is made, the user is encouraged to"
  54. 418  DATA "copy and share the program with others."
  55. 422  DATA "Payment for use is discretionary on"
  56. 426  DATA "the part of each subsequent user."
  57. 430  DATA ".vt 4"
  58. 434  DATA "If you are using these programs, and"
  59. 438  DATA "finding them of value, your contribution"
  60. 442  DATA "($35 suggested) will be appreciated."
  61. 446  DATA ".sp"
  62. 450  DATA "Melvin O. Duke"
  63. 454  DATA "P. O. Box 20836"
  64. 458  DATA "San Jose, CA  95160"
  65. 462  DATA ".vt 4"
  66. 466  DATA "Copyright (c) 1983, by:"
  67. 470  DATA "Melvin O. Duke."
  68. 474  DATA ".sp"
  69. 478  DATA "All rights reserved."
  70. 482  '
  71. 500  REM Top of each page routine
  72. 510  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  73. 520  LPRINT
  74. 530  LPRINT TAB(30); TRIM.LINE$
  75. 540  LPRINT DASHES$ 'Dashes
  76. 550  FOR I = 1 TO 6
  77. 560   LPRINT
  78. 570  NEXT I
  79. 580  LINE.NO = LINE.NO + 6
  80. 590  RETURN
  81. 600  '
  82. 610  REM Bottom of each page Routine
  83. 620  IF PAGE.NO < 1 THEN LPRINT : LPRINT : LPRINT : GOTO 740
  84. 630  LPRINT TAB(TAB.POS); STRING$(40,45)  'on line 46
  85. 640  LPRINT TAB(TAB.POS+3); TITLE$+" ON DISPLAY.  Version 1.3" 'on line 47
  86. 650  IF PAGE.NO MOD 2 = 1 THEN 690
  87. 660  LPRINT TAB(TAB.POS);"Page";PAGE.NO;
  88. 670  LPRINT TAB(TAB.POS+27);"User's Manual"
  89. 680  GOTO 740
  90. 690  LPRINT TAB(TAB.POS); "User's Manual";
  91. 700  IF PAGE.NO < 10 THEN DELTA = 34
  92. 710  IF PAGE.NO >  9 THEN DELTA = 33
  93. 720  IF PAGE.NO > 99 THEN DELTA = 32
  94. 730  LPRINT TAB(TAB.POS+DELTA); "Page"; PAGE.NO  'on line 48
  95. 740  LPRINT : LPRINT : LPRINT
  96. 750  LPRINT DASHES$ 'dashes after 51
  97. 760  LPRINT TAB(30); TRIM.LINE$
  98. 770  LPRINT CHR$(12);
  99. 780  PAGE.NO = PAGE.NO + 1
  100. 790  LINE.NO = 1
  101. 800  IF REPLY$ = ".eof" THEN 820  'Bypass after last page
  102. 810  GOSUB 500  'For top of next page
  103. 820  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  104. 830  RETURN
  105. 840  '
  106. 850  REM Command Processor
  107. 860  IF LEFT$(REPLY$,3) = ".h1" THEN 960
  108. 870  IF LEFT$(REPLY$,3) = ".h2" THEN 1100
  109. 880  IF LEFT$(REPLY$,3) = ".h3" THEN 1210
  110. 890  IF LEFT$(REPLY$,3) = ".sp" THEN 1320
  111. 900  IF LEFT$(REPLY$,4) = ".eof" THEN 1370
  112. 910  IF LEFT$(REPLY$,3) = ".pa" THEN 1410
  113. 915  IF LEFT$(REPLY$,3) = ".pn" THEN PAGE.NO = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3)) : RETURN
  114. 920  IF LEFT$(REPLY$,3) = ".vt" THEN 1480
  115. 930  IF LEFT$(REPLY$,3) = ".pk" THEN 1590
  116. 940  IF LEFT$(REPLY$,3) = ".in" THEN 1720
  117. 950  STOP
  118. 960  REM Head 1 Processor
  119. 970  FOR I = LINE.NO TO 44
  120. 980   LPRINT
  121. 990  NEXT I
  122. 1000  GOSUB 610  'Bottom of page Routine
  123. 1010  IF PAGE.NO MOD 2 = 0 THEN GOSUB 1410  'For h1 on Odd pages
  124. 1020  LPRINT CHR$(14);  'Set expanded print
  125. 1030  IF PAGE.NO MOD 2 = 0 THEN ADJUST = -4 ELSE ADJUST = -7
  126. 1040  LPRINT TAB(TAB.POS+ADJUST); RIGHT$(REPLY$,LEN(REPLY$)-4)
  127. 1050  LPRINT CHR$(18);  'Return to normal
  128. 1060  LINE.NO = LINE.NO+1
  129. 1070  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  130. 1080  RETURN
  131. 1090  '
  132. 1100  REM Head 2 Processor
  133. 1110  IF LINE.NO = 7 THEN 1130 'skip spacing if at top of page
  134. 1120  IF LINE.NO > 43 THEN GOSUB 1410 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
  135. 1130  LPRINT CHR$(27); "E"; 'Set emphasized print
  136. 1140  LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4)
  137. 1150  LPRINT CHR$(27); "F"; 'Return to normal
  138. 1160  LPRINT
  139. 1170  LINE.NO = LINE.NO + 2
  140. 1180  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  141. 1190  RETURN
  142. 1200  '
  143. 1210  REM Head 3 Processor
  144. 1220  IF LINE.NO = 7 THEN 1240 'skip spacing if at top of page
  145. 1230  IF LINE.NO > 43 THEN GOSUB 1410 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
  146. 1240  LPRINT CHR$(27); "E"; 'Set emphasized print
  147. 1250  LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4)
  148. 1260  LPRINT CHR$(27); "F"; 'Return to normal
  149. 1270  LPRINT
  150. 1280  LINE.NO = LINE.NO + 2
  151. 1290  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  152. 1300  RETURN
  153. 1310  '
  154. 1320  REM Single Space Processor
  155. 1330  IF LINE.NO = 7 THEN 1350
  156. 1340  IF LINE.NO > 44 THEN GOSUB 1410 ELSE LPRINT : LINE.NO = LINE.NO + 1
  157. 1350  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  158. 1360  RETURN
  159. 1370  REM End of File Processor
  160. 1380  GOSUB 1410 'Bottom of Page
  161. 1390  LPRINT CHR$(12);
  162. 1400  GOTO 15470
  163. 1410  REM Page Eject Processor
  164. 1420  FOR I = LINE.NO TO 44
  165. 1430   LPRINT
  166. 1440   LINE.NO = LINE.NO + 1
  167. 1450  NEXT I
  168. 1460  GOSUB 610  'Bottom of Page Processing
  169. 1470  RETURN
  170. 1480  REM Vertical Tab Processor
  171. 1490  IF LINE.NO = 7 THEN 1580
  172. 1500  IF LINE.NO > 44 THEN GOSUB 610  'End of page
  173. 1510  QTY = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
  174. 1520  FOR I = 1 TO QTY
  175. 1530   LPRINT
  176. 1540   LINE.NO = LINE.NO + 1
  177. 1550   IF LINE.NO > 44 THEN I = QTY
  178. 1560  NEXT I
  179. 1570  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  180. 1580  RETURN
  181. 1590  REM Pack Processor
  182. 1600  IF LINE.NO > 44 THEN GOSUB 610
  183. 1610  IF TAB.POS = 8 THEN ADJUST = 4
  184. 1620  IF TAB.POS = 13 THEN ADJUST = 7
  185. 1630  TAB.POS = TAB.POS + ADJUST + INDENT
  186. 1640  LPRINT CHR$(15); 'Packed printing
  187. 1650  WIDTH "lpt1:", 132 'set condensed width
  188. 1660  LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-3)
  189. 1670  LPRINT CHR$(18); 'Return to normal
  190. 1680  WIDTH "lpt1:", 80  'return to normal
  191. 1690  LINE.NO = LINE.NO + 1
  192. 1700  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  193. 1710  RETURN
  194. 1720  REM Indent Processor
  195. 1730  INDENT = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
  196. 1740  RETURN
  197. 2610  DATA ".h1 INTRODUCTION"
  198. 2615  DATA ".pn 1"
  199. 2620  DATA ".h2 OVERVIEW"
  200. 2630  DATA "The Genealogy ON DISPLAY programs pro-"
  201. 2640  DATA "vide the user with the capability to"
  202. 2650  DATA "create and maintain data files which"
  203. 2660  DATA "contain information about his or her"
  204. 2670  DATA "ancestors and relatives, to interro-"
  205. 2680  DATA "gate the contents of the files, and to"
  206. 2690  DATA "obtain printouts of both pedigree charts"
  207. 2700  DATA "and family group sheets in standard"
  208. 2710  DATA "formats, using the information from"
  209. 2720  DATA "those files."
  210. 2730  DATA ".sp"
  211. 2740  DATA "Other than the total size of the files,"
  212. 2750  DATA "there is no practical limit to the"
  213. 2760  DATA "number of generations contained in the"
  214. 2770  DATA "files, or capable of being displayed or"
  215. 2780  DATA "printed."
  216. 2790  DATA ".h2 CAPABILITIES"
  217. 2800  DATA "Following are the capabilities of the"
  218. 2810  DATA "the group of programs known as the"
  219. 2820  DATA "Genealogy ON DISPLAY programs."
  220. 2825  DATA ".pa"
  221. 2830  DATA ".h3 Display the Genealogy."
  222. 2840  DATA "The program 'display' is one of the"
  223. 2850  DATA "three principal programs in the Genealogy"
  224. 2860  DATA "ON DISPLAY set of programs.  All of the"
  225. 2870  DATA "other programs supplement these three"
  226. 2880  DATA "programs."
  227. 2890  DATA ".sp"
  228. 2900  DATA "By using the 'display' program, a user"
  229. 2910  DATA "may display personal information, pedi-"
  230. 2920  DATA "grees, and family group information for"
  231. 2930  DATA "any person whose records are in the data"
  232. 2940  DATA "files."
  233. 2950  DATA ".h2 Print Pedigree Charts"
  234. 2960  DATA "The program 'pedigree' is the second of"
  235. 2970  DATA "the three principal programs in the"
  236. 2980  DATA "Genealogy ON DISPLAY set of programs."
  237. 2990  DATA ".sp"
  238. 3000  DATA "By using this program, a user may obtain"
  239. 3010  DATA "a printout of a pedigree chart for any"
  240. 3020  DATA "person whose records are in the data"
  241. 3030  DATA "files."
  242. 3035  DATA ".pa"
  243. 3040  DATA ".h2 Print Family Group Sheets"
  244. 3050  DATA "The program 'family' is the third of the"
  245. 3060  DATA "three principal programs in the Genealogy"
  246. 3070  DATA "ON DISPLAY set of programs."
  247. 3080  DATA ".sp
  248. 3090  DATA "By using this program, a user may obtain"
  249. 3100  DATA "a printout of a family group sheet for"
  250. 3110  DATA "any person whose records are in the data"
  251. 3120  DATA "files."
  252. 3140  DATA ".h3 Create the Data Files."
  253. 3150  DATA "Three programs, the 'creatper', the"
  254. 3160  DATA "'creatmar', and the 'creatord' programs,"
  255. 3170  DATA "permit creation of the records in the"
  256. 3180  DATA "'persfile', the 'marrfile', and the"
  257. 3190  DATA "'ordfile' respectively."
  258. 3200  DATA ".h3 Update the Data Files."
  259. 3210  DATA "Three programs, the 'updatper',  the"
  260. 3220  DATA "'updatmar', and the 'updatord' programs,"
  261. 3230  DATA "permit update of the records in the"
  262. 3240  DATA "'persfile', the 'marrfile', and the"
  263. 3250  DATA "'ordfile' respectively."
  264. 3255  DATA ".pa"
  265. 3260  DATA ".h3 Create the Indices."
  266. 3270  DATA "Two programs, the 'indexpc' and the"
  267. 3280  DATA "'indexmar' programs, permit creation of"
  268. 3290  DATA "the indices 'pcindex' and 'mindex'"
  269. 3300  DATA "respectively."
  270. 3310  DATA ".sp"
  271. 3320  DATA "Note:  These two indices are essential"
  272. 3330  DATA "to the 'display', 'pedigree', and"
  273. 3340  DATA "'family' programs, as they provide"
  274. 3350  DATA "all of the linkages between persons,"
  275. 3360  DATA "ancestors, and families."
  276. 3370  DATA ".h3 List the Records in the Files."
  277. 3380  DATA "Two programs, the 'listper' and the"
  278. 3390  DATA "'listmar' programs, provide listings"
  279. 3400  DATA "of the records in the 'persfile' and"
  280. 3410  DATA "'marrfile', respectively.  These are"
  281. 3420  DATA "one-line summary listings of the"
  282. 3430  DATA "records in the files."
  283. 3440  DATA ".h3 Printing the Contents of the Files."
  284. 3450  DATA "Two programs, the 'printper', and the"
  285. 3460  DATA "'printmar' programs, provide for print-"
  286. 3461  DATA "ing individual records or for complete"
  287. 3470  DATA "printouts of the files.  The 'printper"
  288. 3480  DATA "program provides a combined printout"
  289. 3490  DATA "of the 'persfile' and the 'ordfile'."
  290. 3500  DATA "The 'printmar' program provides a"
  291. 3510  DATA "printout of the 'marrfile'."
  292. 3515  DATA ".pa"
  293. 3520  DATA ".h3 Alphabetical Lists."
  294. 3530  DATA "Two programs, the 'alphaper', and the"
  295. 3540  DATA "'alphamar' programs, provide alphabetical"
  296. 3550  DATA "listings of the persons in the Persons"
  297. 3560  DATA "File, and marriages in the Marriages"
  298. 3570  DATA "File, respectively.  Note:  These two"
  299. 3580  DATA "lists are very helpful in permitting the"
  300. 3590  DATA "user to locate records of persons and of"
  301. 3600  DATA "marriages."
  302. 3610  DATA ".h3 Parent/Child Index List"
  303. 3620  DATA "One program, the 'listpci' program,"
  304. 3630  DATA "provides a list of all persons who are"
  305. 3640  DATA "parents, together with the children of"
  306. 3650  DATA "those persons."
  307. 3660  DATA ".pa"
  308. 3670  DATA ".h2 BENEFITS/ADVANTAGES"
  309. 3680  DATA "The Genealogy ON DISPLAY programs pro-"
  310. 3690  DATA "vide an organized, cohesive set of"
  311. 3700  DATA "programs, to permit a user to create and"
  312. 3710  DATA "maintain that person's genealogical"
  313. 3720  DATA "information."
  314. 3730  DATA ".sp"
  315. 3740  DATA "One major advantage of this technique is"
  316. 3750  DATA "that the user only enters information a"
  317. 3760  DATA "single time, in a single place.  Hence,"
  318. 3770  DATA "there is never any discrepancy between"
  319. 3780  DATA "separate reportings of the data."
  320. 3790  DATA ".sp"
  321. 3800  DATA "The programs use the relationships be-"
  322. 3810  DATA "tween persons for extracting and report-"
  323. 3820  DATA "ing the data in meaningful formats."
  324. 3830  DATA ".sp"
  325. 3840  DATA "Since most genealogical information is"
  326. 3850  DATA "not complete, whenever new information"
  327. 3860  DATA "is obtained, the user may readily add"
  328. 3870  DATA "that new information (or change any"
  329. 3880  DATA "erroneous old information) as the user"
  330. 3890  DATA "desires."
  331. 3900  DATA ".h2 RESULTS"
  332. 3910  DATA "The final results are a well-organized"
  333. 3920  DATA "set of data files and indices, which"
  334. 3930  DATA "permit a user to obtain related infor-"
  335. 3940  DATA "mation in formats which are meaningful"
  336. 3950  DATA "to that user."
  337. 3960  DATA ".pa"
  338. 3970  DATA "Pedigree Charts, Family Group Sheets, as"
  339. 3980  DATA "well as Personal information about each"
  340. 3990  DATA "individual are available upon demand,"
  341. 4000  DATA "either on the printer or on the display."
  342. 4020  DATA ".h2 REQUIREMENTS"
  343. 4030  DATA ".h3 Hardware Requirements."
  344. 4040  DATA ".sp"
  345. 4050  DATA "IBM Personal Computer, with:"
  346. 4060  DATA ".sp"
  347. 4070  DATA "  Two diskette drives."
  348. 4080  DATA ".sp"
  349. 4090  DATA "  IBM Matrix Printer."
  350. 4100  DATA ".sp"
  351. 4110  DATA "    Note: The IBM Matrix Printer"
  352. 4120  DATA "    provides for condensed printing"
  353. 4130  DATA "    of Pedigree Charts and Family"
  354. 4140  DATA "    Group Sheets."
  355. 4150  DATA ".sp"
  356. 4160  DATA "    For full-sized printouts of the"
  357. 4170  DATA "    Pedigree Charts and Family"
  358. 4180  DATA "    Group Sheets, a 132 character"
  359. 4190  DATA "    (10 char/in) printer is required."
  360. 4200  DATA ".sp"
  361. 4210  DATA "  At least 96K of Storage."
  362. 4214  DATA ".sp"
  363. 4215  DATA "   Note:  Most of the programs will run"
  364. 4216  DATA "   with 64K.  The exception is the"
  365. 4217  DATA "   'pedigree' program."
  366. 4220  DATA ".pa"
  367. 4230  DATA "  IBM Monochrome Display."
  368. 4240  DATA ".sp"
  369. 4250  DATA ".h3 Software Requirements."
  370. 4260  DATA ".sp"
  371. 4270  DATA "IBM PC-DOS."
  372. 4275  DATA "  (1.0, 1.05, 1.1 or 2.0)"
  373. 4280  DATA ".sp"
  374. 4290  DATA "Disk BASIC (or Advanced BASIC).
  375. 4295  DATA "  (1.0, 1.05, 1.1 or 2.0)"
  376. 15460  DATA ".eof"
  377. 15470  END
  378.